\chapter{Introduction}


In comparison with terrestrial wireless networks where radio waves are mainly
used for communication, underwater networks typically utilize acoustic waves for the
same.This results in longer propagation delays and limited data rates. The
variability of the channel and high ambient noise in the ocean environments also
leads to high bit error rate (BER) compared to terrestrial wireless
networks \cite{jugglenotjuggle}. Forward error correction (FEC) can be used to
reduce the errors but it is not possible to recover all possible error using
FEC. Therefore generally higher layer protocols and mechanisms such as Automatic
Repeat Request (ARQ), erasure codes etc are used to provide reliable data
transfer. In ARQ-based protocols when a data packet is not acknowledged, a
retransmission ensures that the data packet is delivered. ARQ based solutions,
when used with half duplex modem, result in transmitter waiting for a two-way
propagation delay before transmitting the next data packet. For underwater networks where
the propagation delay is long, ARQ based solution is inefficient due to
the high round trip delay.

In \cite{arqunderwater}, a new juggling-like stop-and-wait ARQ (J-ARQ)
transmission scheme is proposed, which improves the channel utilization.
this increases the data rate of a point to point link between half duplex
modems.
Apart from J-ARQ and stop-and-wait ARQ an alternative solution for point to
point data transfer uses erasure codes \cite{erasure}.For both
mechanisms analytical and numerical studies are proposed in
\cite{jugglenotjuggle}. The algorithms which are proposed choose
the protocol parameters such as packet size, block length etc 
to maximize the throughput of ARQ and J-ARQ protocols.

The purpose of this project is to implement and map the block based
ARQ, juggling-like ARQ protocol (proposed in \cite{jugglenotjuggle}) and the
algorithms (proposed in \cite{arqunderwater}) for a practical implementation for
ARL's underwater modem. In the following sections the basics of the idea
behind these protocols are first introduced,  followed by high level ARL UNET
modem architecture, implementation and experimental results.


\section{ARQ Protocols}
One way to provide a reliable data transfer is to set an automatic repeat
request, in other words, a mechanism that is able to retransmit data packets
which have been detected as corrupted or are lost in transmission. The report
explains about the implementation details of the following ARQ based protocols 
\subsubsection{Conventional ARQ}
Conventional ARQ is block based ARQ in which, after transmitting a
block of packets sender waits for 2-way propagation time before receiving the
acknowledgment(ACK) for the block. In this technique transmitter idles for a
two-way propagation delay. After receiving the ACK transmitter decides to send
the next block of data packets which may include re-transmitted packets.
Figure \ref{arq} illustrates this scheme of transmission.
 
 \subsubsection{Juggling-like ARQ}
 In conventional ARQ the sender is waiting for 2-way propogation delay, which
 reduces the channel utilization. Juggling-like scheme (proposed in \cite{})
 improves the channel utilization by sending multiple blocks of packets before
 receiving the ACK. A gap is provided before transmitting another block of
 packets. This gap allows the transmitter to receive the ACK of earlier block
 and receiver to return an ACK.
 
\section{ARL UNET Modem}

The Acoustic Research Laboratory (ARL) is a laboratory within the Tropical
Marine Science Institute (TMSI) of the National University of Singapore (NUS). We, here at the ARL, 
conduct fundamental & applied research in 
underwater systems with a focus on tropical marine acoustics & sensing platforms
\cite{arl}. ARL modem has been developed as a communication technique for
point-to-point medium range links in warm shallow waters. The technique employs OFDM to divide the 
available bandwidth into multiple 
sub-carriers. Each sub-carrier is narrow enough to lie within the coherence
bandwidth of the channel \cite{arlmodeminfo}. The ARL modems are compliant with
the UNA? architecture \cite{una}.

\begin{figure}
\centering
  
   \includegraphics[scale=0.5]{./img/modempic.png}
   \caption{ARL UNET Architecture source:\cite{unetposter}} 
     \includegraphics[scale=0.5]{./img/modem.png}
   \caption{ARL UNET modem source:\cite{unetposter}} 
   \label{unetpos}
\end{figure}

From Figure\ref{unetpos} it can be seen that the user interaction with the
modem is performed using HOST ?. HOST is the main software component of modem (also
called as host stack), it contains implementation of various layers (PHY,LINK,
$\dots$) The implementation of ARQ protocols provides a new layer(agent) using
the Link layer.
    
%\end{figure}
%\includegraphics{}



